Webgate Anywhere 4.1 - WebTML Tag-Referenz
[Alle Tags] context

<tml:[Alle Tags] context ="context-expression">

Verwendung:

Setzt den Ausführungskontext des aktuellen und aller untergeordneten Tags auf das durch den Kontextausdruck definierte Inhaltsdokument.

Beschreibung:

Der Kontextwechsel ermittelt die Sprache des Zieldokumentes mit derselben Systematik, mit welcher diese auch bei URL-Aufrufen von Inhalten ermittelt wird. Dies muss nicht dieselbe Sprache sein in der auch das aktuelle Hauptdokument angezeigt wird. Ist das aktuell angezeigte Dokument nicht in der bevorzugten Sprache des Benutzers vorhanden, ein anderes Dokument welches über Kontextwechsel angesprochen wird jedoch wohl, so unterscheiden sich die Sprachen des Hauptdokumentes und des angesteuerten Dokumentes.

Der Kontextwechsel kann aus verschiedenen Gründen fehlschlagen:

In diesem Fall wird die Verarbeitung des jeweiligen WebTML-Tags normalerweise abgebrochen, um zu verhindern dass seine Funktionalitäten auf das falsche Dokument angewendet werden. Auch der Inhalt des WebTML-Tags wird weder gerendert noch ausgegeben.

Soll auf den Fall eines fehlschlagenden Kontextwechsels benutzerdefiniert reagiert werden so kann dieser in einem Konditions-Tag ausgeführt werden welcher das Attribut iscontextvalid besitzt. In diesem Fall ist es auch möglich dass ein Tag und sein Inhalt trotz fehlschlagenden Kontextwechsels ausgeführt wird:
<tml:case context="any-context-expression" iscontextvalid="false">
<!-- Inhalt des Tags wird bei fehlschlagendem Kontextwelchsel ausgeführt,
da per Attribut "iscontextvalid" explizit dieser Fall als Kondition gewünscht ist-->
</tml:case>

Wert(e):

Einfache Ausdrücke

children[idx] - Ein Kinddokument mit dem angegebenen (absoluten) Index. Index 0 ist das erste Kinddokument.

main | currentdocument - Das gerade angezeigte Content-Dokument

parent - Das übergeordnete Contentdokument

root - Das übergeordnete Root-Dokument

selectedchild - Dieser Ausdruck sucht das Kinddokument des aktuellen Kontextdokumentes heraus, welches "selektiert" ist, d.h. welches selbst Vaterdokument des aktuellen Hauptkontextes ist.

selectedchilld ist besonders im Einsatz mit Kontextausdruck-Pfaden sinnvoll. So ergibt z. B. Der Context "root/selectedchild/selectedchild" ein Dokument der zweiten Navigationsebene. Über diese Funktionalität können sie in Navigatoren das Dokument ausfindig machen, unter dem sich das aktuell angezeigte Dokument in der Hierarchie befindet und so dieses eventuell spezielle hervorheben.

siblings[idx] - Ein Geschwisterdokument mit dem angegebenen (absoluten) Index. Index 0 ist das erste Geschwisterdokument.

siblings[+/-idx] - Ein Geschwisterdokument mit dem angegebenen, zum aktuellen Kontextdokument relativen, Index. (d.h. Index +1 wäre das unmittelbar folgende Geschwisterdokument zum aktuellen)

this - Das aktuelle Kontext-Dokument


Ausdrücke mit Parametern

area:areaname - Steuert das erste Root-Dokument des angegebenen Bereichs an.

db:dbkey - Wechselt zur Datenbank dieses Schlüssels. Das Dokument im Kontext nach dem Wechsel ist ein virtuelles "Dummy-Dokument", von welchem aus ein konkretes Dokument dieser Datenbank angesteuert werden kann.

docid: dokumenten-id - Mit diesem Ausdruck kann ein Contentdokument per beliebigem Dokumentenschlüssel selektiert werden. Erlaubt sind hier alle Ausdrücke, die auch in der URL als Identifikation für Contentdokumente verwendet werden können: Inhaltsschlüssel, Struktureintrags-Schlüssel, eindeutige Namen etc.

name:unique-name - Der eindeutige Name eines Dokumentes

plugin:plugin-name - Wechselt zur Datenbank des WGA Plugins mit dem angegebenen eindeutigen Namen. Das Dokument im Kontext nach dem Wechsel ist ein virtuelles "Dummy-Dokument", von welchem aus ein konkretes Dokument dieser Datenbank angesteuert werden kann.

query:query-id - Wechselt zum ersten Dokument der Ergebniskollektion, welche der Query-Tag mit der angegebenen ID ermittelt hat.

role:rolle - Zur Anwendung in Pfadausdrücken: Wechselt den Kontext nicht, setzt aber die zu verwendende "Rolle" für alle weiteren Einzelausdrücke des Pfades. Damit werden Inhaltsdokumente, die für bestimmte Navigationselement nicht sichtbar sind, automatisch ignoriert. Ausgenommen von dieser Wirkung sind Kontextausdrücke die Dokumente explizit adressieren ("docid:", "name:").

Entspricht in der Wirkung dem Attribut role an Navigator-Tags. Die möglichen Werte dieses Attributes können in diesem Ausdruck als Parameter verwendet werden. Beispiel: "role:nav/children[0]" um das erste Kinddokumente anzusteuern welches für Navigatoren sichtbar ist.

tag: tagid - Der Kontext des Tags mit der angegebenen ID


Verkettung von Ausdrücken zu Ausdruckpfaden

expr/expr/expr... - Ein Pfad aus Kontextausdrücken mit beliebig vielen Einzelausdrücken, der von links nach rechts durchgearbeitet wird.

Der Schrägstrich wird in Kontextausdrücken grundsätzlich als Trenner mehrerer einzelner Kontextausdrücke verwendet. Jeder einzelne Kontextausdruck benutzt das Kontextergebnis des vorherigen Ausdrucks als Basis. Schlägt einer der einzelnen Kontextwechsel fehl, so kehrt die WebTML-Umgebung zum ursprünglichen Kontext zurück und lässt eventuell vorherige erfolgreiche Kontextschritte verfallen.

Sprachwechsel in Kontextausdrücken

expr<language> - Führt den angegebenen Kontextausdruck aus, selektiert aber nur ein Dokument der Sprache, deren Sprachcode in spitzen Klammern angegeben wurde. Existiert an der angesteuerten Position kein Dokument dieser Sprache so schlägt der Kontextwechsel fehl.

expr<> - Führt den angegebenen Kontextausdruck aus, selektiert aber nur ein Dokument in der jeweiligen Default-Sprache der Datenbank. Existiert an der angesteuerten Position kein Dokument dieser Sprache so schlägt der Kontextwechsel fehl.

Beispiele:

Kontextausdruck "root". Dies gibt den Titel des Hauptdokumentes aus:
<tml:meta name="title" context="root">

Kontextausdruck "children". Dies gibt den Titel des ersten Childdokumentes aus:
<tml:meta name="title" context="children[0]">

Kontextausdruck "name". Dies gibt den Titel des Dokument mit eindeutigem Namen "home" aus:
<tml:meta name="title" context="name:home">

Kontextausdruck "query". Das erste Dokument eines Abfrage-Ergebnisses wird selektiert:
<tml:query id="names" db="names" type="formula">fullname="bill gates</tml:query>

<tml:item name="phone" context="query:names"/>

Pfadausdruck. Dieser <tml:range> wechselt den Kontext in die Datenbank "names" und selektiert dort das Dokument mit eindeutigem Namen "home":
<tml:range db="names" context="db:names/name:home">
    <tml:item name="fullname"/>
</tml:range>


<< [Alle Tags] divider >>